A standard resource management scenario is illustrated in FIG. 1. A client computer 101 requires data provided by a resource that is made available through a group of servers 119A-119C. The required data can be available from any subset of the group of servers 119A-C. In the illustrated example, the servers are application servers 119A-C that provide a particular application or group of applications to a requesting client 101.
Access to the servers 119A-C is controlled by a load balancing server 105. The load balancing server 105 receives a resource request 103 from a client computer 101 and determines which of the available servers 119A-C will service the request. The load balancing server 105 relies on one of a group of available load balancing modules to make the selection of the server to service the request 103. The load balancing server 105 is configured to utilize one of a set of available load balancing modules that implement schemes or algorithms such as a round robin algorithm, business monitoring, data transfer rate monitoring, and response time monitoring. The load balancing server 105 can be configured by an administrator or user to use any one of these modules or any combination of these modules.
After the load balancing server 105 selects a server, a connection for the selected server is obtained from a connection pool and the request is serviced by the selected server through the connection. Each request is handled in this manner using the same load balancing scheme or algorithm to distribute the requests evenly across the available servers.